{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "dotnet_interactive": {
     "language": "mermaid"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div class=\"mermaidMarkdownContainer\" style=\"background-color:white\">\r\n",
       "<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css\">\r\n",
       "<script type=\"text/javascript\">\r\n",
       "\r\n",
       "loadMermaid_09ded7e827ed4915a6a04bb27595c9d2 = () => {\r\n",
       " \r\n",
       "        (require.config({ 'paths': { 'context': '9.1.7', 'mermaidUri' : 'https://cdn.jsdelivr.net/npm/mermaid@9.1.7/dist/mermaid.min', 'urlArgs': 'cacheBuster=625d3994f47945639234a330b87e0f75' }}) || require)(['mermaidUri'], (mermaid) => {\r\n",
       "\r\n",
       "            let renderTarget = document.getElementById('09ded7e827ed4915a6a04bb27595c9d2');\r\n",
       "            mermaid.mermaidAPI.render( \r\n",
       "                'mermaid_09ded7e827ed4915a6a04bb27595c9d2', \r\n",
       "                `%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': false}} }%%\n",
       "      gitGraph\n",
       "        commit\n",
       "        branch hotfix\n",
       "        checkout hotfix\n",
       "        commit\n",
       "        branch develop\n",
       "        checkout develop\n",
       "        commit id:\"ash\" tag:\"abc\"\n",
       "        branch featureB\n",
       "        checkout featureB\n",
       "        commit type:HIGHLIGHT\n",
       "        checkout main\n",
       "        checkout hotfix\n",
       "        commit type:NORMAL\n",
       "        checkout develop\n",
       "        commit type:REVERSE\n",
       "        checkout featureB\n",
       "        commit\n",
       "        checkout main\n",
       "        merge hotfix\n",
       "        checkout featureB\n",
       "        commit\n",
       "        checkout develop\n",
       "        branch featureA\n",
       "        commit\n",
       "        checkout develop\n",
       "        merge hotfix\n",
       "        checkout featureA\n",
       "        commit\n",
       "        checkout featureB\n",
       "        commit\n",
       "        checkout develop\n",
       "        merge featureA\n",
       "        branch release\n",
       "        checkout release\n",
       "        commit\n",
       "        checkout main\n",
       "        commit\n",
       "        checkout release\n",
       "        merge main\n",
       "        checkout develop\n",
       "        merge release`, \r\n",
       "                g => {\r\n",
       "                    renderTarget.innerHTML = g \r\n",
       "                });\r\n",
       "        },\r\n",
       "        (error) => {\r\n",
       "            console.log(error);\r\n",
       "        });\r\n",
       "}\r\n",
       "// ensure `require` is available globally\r\n",
       "if ((typeof(require) !==  typeof(Function)) || (typeof(require.config) !== typeof(Function))) {\r\n",
       "    let require_script = document.createElement('script');\r\n",
       "    require_script.setAttribute('src', 'https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js');\r\n",
       "    require_script.setAttribute('type', 'text/javascript');\r\n",
       "    \r\n",
       "    \r\n",
       "    require_script.onload = function() {\r\n",
       "        loadMermaid_09ded7e827ed4915a6a04bb27595c9d2();\r\n",
       "    };\r\n",
       "\r\n",
       "    document.getElementsByTagName('head')[0].appendChild(require_script);\r\n",
       "}\r\n",
       "else {\r\n",
       "    loadMermaid_09ded7e827ed4915a6a04bb27595c9d2();\r\n",
       "}\r\n",
       "\r\n",
       "</script>\r\n",
       "<div id=\"09ded7e827ed4915a6a04bb27595c9d2\"></div>\r\n",
       "</div>\r\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': false}} }%%\n",
    "      gitGraph\n",
    "        commit\n",
    "        branch hotfix\n",
    "        checkout hotfix\n",
    "        commit\n",
    "        branch develop\n",
    "        checkout develop\n",
    "        commit id:\"ash\" tag:\"abc\"\n",
    "        branch featureB\n",
    "        checkout featureB\n",
    "        commit type:HIGHLIGHT\n",
    "        checkout main\n",
    "        checkout hotfix\n",
    "        commit type:NORMAL\n",
    "        checkout develop\n",
    "        commit type:REVERSE\n",
    "        checkout featureB\n",
    "        commit\n",
    "        checkout main\n",
    "        merge hotfix\n",
    "        checkout featureB\n",
    "        commit\n",
    "        checkout develop\n",
    "        branch featureA\n",
    "        commit\n",
    "        checkout develop\n",
    "        merge hotfix\n",
    "        checkout featureA\n",
    "        commit\n",
    "        checkout featureB\n",
    "        commit\n",
    "        checkout develop\n",
    "        merge featureA\n",
    "        branch release\n",
    "        checkout release\n",
    "        commit\n",
    "        checkout main\n",
    "        commit\n",
    "        checkout release\n",
    "        merge main\n",
    "        checkout develop\n",
    "        merge release"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "dotnet_interactive": {
     "language": "mermaid"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div class=\"mermaidMarkdownContainer\" style=\"background-color:white\">\r\n",
       "<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css\">\r\n",
       "<script type=\"text/javascript\">\r\n",
       "\r\n",
       "loadMermaid_74a4e10b7b1742808c3d539280c663e5 = () => {\r\n",
       " \r\n",
       "        (require.config({ 'paths': { 'context': '9.1.7', 'mermaidUri' : 'https://cdn.jsdelivr.net/npm/mermaid@9.1.7/dist/mermaid.min', 'urlArgs': 'cacheBuster=625d3994f47945639234a330b87e0f75' }}) || require)(['mermaidUri'], (mermaid) => {\r\n",
       "\r\n",
       "            let renderTarget = document.getElementById('74a4e10b7b1742808c3d539280c663e5');\r\n",
       "            mermaid.mermaidAPI.render( \r\n",
       "                'mermaid_74a4e10b7b1742808c3d539280c663e5', \r\n",
       "                `stateDiagram-v2\n",
       "    [*] --> Active\n",
       "\n",
       "    state Active {\n",
       "        [*] --> NumLockOff\n",
       "        NumLockOff --> NumLockOn : EvNumLockPressed\n",
       "        NumLockOn --> NumLockOff : EvNumLockPressed\n",
       "        --\n",
       "        [*] --> CapsLockOff\n",
       "        CapsLockOff --> CapsLockOn : EvCapsLockPressed\n",
       "        CapsLockOn --> CapsLockOff : EvCapsLockPressed\n",
       "        --\n",
       "        [*] --> ScrollLockOff\n",
       "        ScrollLockOff --> ScrollLockOn : EvScrollLockPressed\n",
       "        ScrollLockOn --> ScrollLockOff : EvScrollLockPressed\n",
       "    }`, \r\n",
       "                g => {\r\n",
       "                    renderTarget.innerHTML = g \r\n",
       "                });\r\n",
       "        },\r\n",
       "        (error) => {\r\n",
       "            console.log(error);\r\n",
       "        });\r\n",
       "}\r\n",
       "// ensure `require` is available globally\r\n",
       "if ((typeof(require) !==  typeof(Function)) || (typeof(require.config) !== typeof(Function))) {\r\n",
       "    let require_script = document.createElement('script');\r\n",
       "    require_script.setAttribute('src', 'https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js');\r\n",
       "    require_script.setAttribute('type', 'text/javascript');\r\n",
       "    \r\n",
       "    \r\n",
       "    require_script.onload = function() {\r\n",
       "        loadMermaid_74a4e10b7b1742808c3d539280c663e5();\r\n",
       "    };\r\n",
       "\r\n",
       "    document.getElementsByTagName('head')[0].appendChild(require_script);\r\n",
       "}\r\n",
       "else {\r\n",
       "    loadMermaid_74a4e10b7b1742808c3d539280c663e5();\r\n",
       "}\r\n",
       "\r\n",
       "</script>\r\n",
       "<div id=\"74a4e10b7b1742808c3d539280c663e5\"></div>\r\n",
       "</div>\r\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "stateDiagram-v2\n",
    "    [*] --> Active\n",
    "\n",
    "    state Active {\n",
    "        [*] --> NumLockOff\n",
    "        NumLockOff --> NumLockOn : EvNumLockPressed\n",
    "        NumLockOn --> NumLockOff : EvNumLockPressed\n",
    "        --\n",
    "        [*] --> CapsLockOff\n",
    "        CapsLockOff --> CapsLockOn : EvCapsLockPressed\n",
    "        CapsLockOn --> CapsLockOff : EvCapsLockPressed\n",
    "        --\n",
    "        [*] --> ScrollLockOff\n",
    "        ScrollLockOff --> ScrollLockOn : EvScrollLockPressed\n",
    "        ScrollLockOn --> ScrollLockOff : EvScrollLockPressed\n",
    "    }"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "dotnet_interactive": {
     "language": "mermaid"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div class=\"mermaidMarkdownContainer\" style=\"background-color:white\">\r\n",
       "<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css\">\r\n",
       "<script type=\"text/javascript\">\r\n",
       "\r\n",
       "loadMermaid_d9ac7679caa841b9b360d51e522b6c85 = () => {\r\n",
       " \r\n",
       "        (require.config({ 'paths': { 'context': '9.1.7', 'mermaidUri' : 'https://cdn.jsdelivr.net/npm/mermaid@9.1.7/dist/mermaid.min', 'urlArgs': 'cacheBuster=625d3994f47945639234a330b87e0f75' }}) || require)(['mermaidUri'], (mermaid) => {\r\n",
       "\r\n",
       "            let renderTarget = document.getElementById('d9ac7679caa841b9b360d51e522b6c85');\r\n",
       "            mermaid.mermaidAPI.render( \r\n",
       "                'mermaid_d9ac7679caa841b9b360d51e522b6c85', \r\n",
       "                `stateDiagram-v2\n",
       "state fork_state <<fork>>\n",
       "  [*] --> fork_state\n",
       "  fork_state --> State2\n",
       "  fork_state --> State3\n",
       "\n",
       "  state join_state <<join>>\n",
       "  State2 --> join_state\n",
       "  State3 --> join_state\n",
       "  join_state --> State4\n",
       "  State4 --> [*]`, \r\n",
       "                g => {\r\n",
       "                    renderTarget.innerHTML = g \r\n",
       "                });\r\n",
       "        },\r\n",
       "        (error) => {\r\n",
       "            console.log(error);\r\n",
       "        });\r\n",
       "}\r\n",
       "// ensure `require` is available globally\r\n",
       "if ((typeof(require) !==  typeof(Function)) || (typeof(require.config) !== typeof(Function))) {\r\n",
       "    let require_script = document.createElement('script');\r\n",
       "    require_script.setAttribute('src', 'https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js');\r\n",
       "    require_script.setAttribute('type', 'text/javascript');\r\n",
       "    \r\n",
       "    \r\n",
       "    require_script.onload = function() {\r\n",
       "        loadMermaid_d9ac7679caa841b9b360d51e522b6c85();\r\n",
       "    };\r\n",
       "\r\n",
       "    document.getElementsByTagName('head')[0].appendChild(require_script);\r\n",
       "}\r\n",
       "else {\r\n",
       "    loadMermaid_d9ac7679caa841b9b360d51e522b6c85();\r\n",
       "}\r\n",
       "\r\n",
       "</script>\r\n",
       "<div id=\"d9ac7679caa841b9b360d51e522b6c85\"></div>\r\n",
       "</div>\r\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "stateDiagram-v2\n",
    "state fork_state <<fork>>\n",
    "  [*] --> fork_state\n",
    "  fork_state --> State2\n",
    "  fork_state --> State3\n",
    "\n",
    "  state join_state <<join>>\n",
    "  State2 --> join_state\n",
    "  State3 --> join_state\n",
    "  join_state --> State4\n",
    "  State4 --> [*]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "dotnet_interactive": {
     "language": "mermaid"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div class=\"mermaidMarkdownContainer\" style=\"background-color:white\">\r\n",
       "<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css\">\r\n",
       "<script type=\"text/javascript\">\r\n",
       "\r\n",
       "loadMermaid_5fb85a7658ad4c799fa6588532b208cc = () => {\r\n",
       " \r\n",
       "        (require.config({ 'paths': { 'context': '9.1.7', 'mermaidUri' : 'https://cdn.jsdelivr.net/npm/mermaid@9.1.7/dist/mermaid.min', 'urlArgs': 'cacheBuster=625d3994f47945639234a330b87e0f75' }}) || require)(['mermaidUri'], (mermaid) => {\r\n",
       "\r\n",
       "            let renderTarget = document.getElementById('5fb85a7658ad4c799fa6588532b208cc');\r\n",
       "            mermaid.mermaidAPI.render( \r\n",
       "                'mermaid_5fb85a7658ad4c799fa6588532b208cc', \r\n",
       "                `graph TB\n",
       "    sq[Square shape] --> ci((Circle shape))\n",
       "\n",
       "    subgraph A\n",
       "        od>Odd shape]-- Two line<br/>edge comment --> ro\n",
       "        di{Diamond with <br/> line break} -.-> ro(Rounded<br>square<br>shape)\n",
       "        di==>ro2(Rounded square shape)\n",
       "    end\n",
       "\n",
       "    %% Notice that no text in shape are added here instead that is appended further down\n",
       "    e --> od3>Really long text with linebreak<br>in an Odd shape]\n",
       "\n",
       "    %% Comments after double percent signs\n",
       "    e((Inner / circle<br>and some odd <br>special characters)) --> f(,.?!+-*ز)\n",
       "\n",
       "    cyr[Cyrillic]-->cyr2((Circle shape Начало));\n",
       "\n",
       "     classDef green fill:#9f6,stroke:#333,stroke-width:2px;\n",
       "     classDef orange fill:#f96,stroke:#333,stroke-width:4px;\n",
       "     class sq,e green\n",
       "     class di orange`, \r\n",
       "                g => {\r\n",
       "                    renderTarget.innerHTML = g \r\n",
       "                });\r\n",
       "        },\r\n",
       "        (error) => {\r\n",
       "            console.log(error);\r\n",
       "        });\r\n",
       "}\r\n",
       "// ensure `require` is available globally\r\n",
       "if ((typeof(require) !==  typeof(Function)) || (typeof(require.config) !== typeof(Function))) {\r\n",
       "    let require_script = document.createElement('script');\r\n",
       "    require_script.setAttribute('src', 'https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js');\r\n",
       "    require_script.setAttribute('type', 'text/javascript');\r\n",
       "    \r\n",
       "    \r\n",
       "    require_script.onload = function() {\r\n",
       "        loadMermaid_5fb85a7658ad4c799fa6588532b208cc();\r\n",
       "    };\r\n",
       "\r\n",
       "    document.getElementsByTagName('head')[0].appendChild(require_script);\r\n",
       "}\r\n",
       "else {\r\n",
       "    loadMermaid_5fb85a7658ad4c799fa6588532b208cc();\r\n",
       "}\r\n",
       "\r\n",
       "</script>\r\n",
       "<div id=\"5fb85a7658ad4c799fa6588532b208cc\"></div>\r\n",
       "</div>\r\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "graph TB\n",
    "    sq[Square shape] --> ci((Circle shape))\n",
    "\n",
    "    subgraph A\n",
    "        od>Odd shape]-- Two line<br/>edge comment --> ro\n",
    "        di{Diamond with <br/> line break} -.-> ro(Rounded<br>square<br>shape)\n",
    "        di==>ro2(Rounded square shape)\n",
    "    end\n",
    "\n",
    "    %% Notice that no text in shape are added here instead that is appended further down\n",
    "    e --> od3>Really long text with linebreak<br>in an Odd shape]\n",
    "\n",
    "    %% Comments after double percent signs\n",
    "    e((Inner / circle<br>and some odd <br>special characters)) --> f(,.?!+-*ز)\n",
    "\n",
    "    cyr[Cyrillic]-->cyr2((Circle shape Начало));\n",
    "\n",
    "     classDef green fill:#9f6,stroke:#333,stroke-width:2px;\n",
    "     classDef orange fill:#f96,stroke:#333,stroke-width:4px;\n",
    "     class sq,e green\n",
    "     class di orange"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".NET (C#)",
   "language": "C#",
   "name": ".net-csharp"
  },
  "polyglot_notebook": {
   "kernelInfo": {
    "defaultKernelName": "csharp",
    "items": [
     {
      "aliases": [
       "c#",
       "C#"
      ],
      "languageName": "C#",
      "name": "csharp"
     },
     {
      "aliases": [],
      "name": ".NET"
     },
     {
      "aliases": [
       "f#",
       "F#"
      ],
      "languageName": "F#",
      "name": "fsharp"
     },
     {
      "aliases": [],
      "languageName": "HTML",
      "name": "html"
     },
     {
      "aliases": [],
      "languageName": "KQL",
      "name": "kql"
     },
     {
      "aliases": [],
      "languageName": "Mermaid",
      "name": "mermaid"
     },
     {
      "aliases": [
       "powershell"
      ],
      "languageName": "PowerShell",
      "name": "pwsh"
     },
     {
      "aliases": [],
      "languageName": "SQL",
      "name": "sql"
     },
     {
      "aliases": [],
      "name": "value"
     },
     {
      "aliases": [
       "frontend"
      ],
      "name": "vscode"
     }
    ]
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
